#ifndef STATIC_H
#define STATIC_H

#include "Game Engine/Header/Object.h"
#include "Game Engine/Header/Mesh.h"

class Static : public Object
{
public:
	Static();
	~Static();

	D3DXVECTOR3&	GetPosition();
	D3DXVECTOR3&	GetVelocity();

	void			SetPosition( D3DXVECTOR3 pos );
	void			SetVelocity( D3DXVECTOR3 vel );

	void			Init( Mesh* mesh, Object::Shape shape = Object::Cube,
						bool dynamic = true );
	void			Strafe(float d);
	void			Walk(float d);
	void			FixedPosition( D3DXVECTOR3& pos );

	void			FixedRotation( float angle );

	void			Draw( D3DXMATRIX& lightViewProj, D3DXMATRIX& mat );

	D3DXMATRIX&		World();

public:
	btRigidBody		*mBody;
	btPairCachingGhostObject* mGhostObject;
	btKinematicCharacterController* mCharacter;

	D3DXMATRIX		mWorld;

private:
	Mesh*			mMesh;

	D3DXVECTOR3		mPosition;
	D3DXVECTOR3		mVelocity;
};

#endif